import store from "../../store/index";
import { Message } from "element-ui";

const intercept = (res) => {
  if (res.state == 401) {
    // 还未登入
    isLogin(res);
  } else if (res.state == 403) {
    // 登入已过期
    overdue(res);
  } else if (res.state == 404) {
    // 请求错误
    requestError({
      message: "请求路径不存在",
    });
  } else if (res.state == 400) {
    // 请求错误
    requestError(res);
  } else if (res.state == 500) {
    // 服务端错误
    networkError({
      msg: res.message || "服务端错误",
    });
  } else if (`${res}` == "Error: Network Error") {
    networkError({
      msg: "网络错误,请重试",
    });
    return;
  } else if (`${res}`.indexOf("timeout") != -1) {
    networkError({
      msg: "请求超时,请重试",
    });
    return;
  }
};

//   您还未登入
const isLogin = () => {
  setTimeout(() => {
    location.reload();
  }, 500);
};

//   登入过期
const overdue = () => {
  store.commit("setToken", "");
  store.commit("setUserInfo", "");
  setTimeout(() => {
    location.reload();
  }, 500);
};
//   请求错误
const requestError = (res) => {
  Message({
    message: res.message,
    type: "error",
  });
};
// 网络错误
const networkError = (res) => {
  Message({
    message: res.msg,
    type: "error",
  });
};

export default intercept;
